Skip to content

Conversation

kasemir
Copy link
Collaborator

@kasemir kasemir commented Aug 12, 2025

Compared to Channel Access, PV Access so far lacked access permissions info. A client like an operator display cannot show that a PV is read-only. Users would only notice that a PV is actually read-only when writing and then receiving an error.

A protocol update has been proposed and discussed with PVXS developers, epics-docs/epics-docs#140 It has not been implemented in PVXS, yet, but this implementation in java provides a preview of what it would look like. It is fully compatible with PVXS, the new PVA protocol message is simply ignored.
It allows https://github.com/controlSystemStudio/pvaify to mirror the write permissions from the CA client side to the PVA server side and then see the result in CS-Studio displays.

./serverdemo creates PVs "demo" (read-only) and "demo3" (writable).
A display with pva://demo and pva://demo3 will reflect write access or lack thereof:

Screenshot 2025-08-12 at 2 47 22 PM

With the corresponding pva_acl branch of pvaify, a demo database and access config can dynamically change write permissions and the display will then update its widgets to allow or block write access.

@kasemir kasemir changed the title Pva acl PVA access permissions info Aug 12, 2025
@kasemir kasemir marked this pull request as ready for review September 30, 2025 20:21
@kasemir kasemir merged commit 5cf6e87 into master Oct 1, 2025
3 checks passed
@kasemir kasemir deleted the pva_acl branch October 1, 2025 13:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant